A plurality of information processing apparatus communicate with each other through a network to provide services between the information processing apparatus.
For example, in a client/server system, a client and a server communicate with each other so that the server provides a service and the client uses the service.
The client/server system occasionally has service providing architectures changed to improve services provided by servers, to associate servers with each other to provide a service of a certain type, and to transfer a service provided by a server to another server. An intermediate device is employed to change service providing architectures.
A peer-to-peer system comprises a plurality of information processing apparatus called peers. A peer is not assigned a fixed role as a client or a server, but has its role changed depending on the situation. As with the client/server system, the peer-to-peer system has peers communicating with each other so that a peer provides a service and another peer uses the service. The peer-to-peer system also needs to change service providing architectures, and an intermediate device is employed to change service providing architectures.
In order to realize services in these systems, the systems may employ a communication protocol having a procedure for information processing apparatus to exchange and hold state information inherent in communication sessions and to communicate with each other using the state information.
A typical system wherein a client and a server exchange and hold inherent state information for a certain period of time, and communicate with each other using the state information, employs a protocol as a de facto standard such as NFS (Network File System) or CIFS (Common Internet File System).
These communication protocols are used for remote file access for accessing storage resources of a server from a client. Using such a communication protocol, the client can easily use the storage resources of the server as if accessing storage resources within itself (see Japanese laid-open patent publication No. 2003-203029 and W. Katsurashima, S. Yamakawa, T. Torii, J. Ishikawa, Y. Kikuchi, K. Yamaguti, K. Fujii and T. Nakashima, “NAS Switch: A Novel CIFS Server Virtualization,” Processings of 12th IEEE/11th NASA Goddard Conference on Mass Storage Systems & Technologies, April, 2003).
Japanese laid-open patent publication No. 2003-203029 proposes a process of integrating storage resources of a plurality of servers as if they are a single storage resource and providing it to a client in an NFS protocol environment. According to the proposed process, a switch device for changing and transferring information in communication packets is introduced between a client and a server for thereby providing storage resources of a plurality of servers as if they are a single storage resource to the client without the need for special software or hardware introduced into the client and the server.
The article by W. Katsurashima, et al. proposes a switch apparatus for integrating storage resources of a plurality of servers without the need for special software or hardware introduced into a client and a server in an environment employing a CIFS protocol as with the NFS protocol environment.
According to the above proposals, services provided by a group of servers that do not have an interlinking function can be integrated by providing an intermediate device typified by a switch apparatus in a network between a client and servers. Therefore, the client or the user of the client can easily use services provided by the servers without concern over the architecture of the server group. The system administrator can perform maintenance work for adding or removing a server or transferring resources between servers without changing client settings and stopping applications depending on the operating situation of the system and the services. Another typical system wherein a client and a server exchange and hold inherent state information for a certain period of time, and communicate with each other using the state information, employs HTTP (Hyper Text Transfer Protocol). According to the HTTP, the client can use Web contents stored in the server. The client requests the server for the Web contents, and the server provides the Web contents to the server. An intermediate device having a function to distribute requests from the client to appropriate servers is called a Web switch or a layer 7 switch.
The intermediate device of the above type distributes requests depending on the locations where Web contents are stored, thereby integrating a plurality of servers to make them look like one Web server to clients. Therefore, if Web servers are classified according to differently processed Web services such as contents using CGI and contents using COOKIE, then processing loads based on requests from clients can be distributed, and servers having capabilities that match the processing loads can be installed as respective Web servers for performing distributed processes. Consequently, Web services themselves can stably be run by efficiently constructing systems at Web sites and changing systems depending on the changing situation.
Services that are provided by an intermediate device, such as services for distributing remote file access from a client to a plurality of servers and services for distributing Web service access from a client to a plurality of Web servers, will hereinafter referred to as intermediate device provided services.